home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carousel Volume 2 #1
/
carousel.iso
/
mactosh
/
hc
/
hyperala.sit
/
HyperAlarms 1.1
/
stack.txt
< prev
Wrap
Text File
|
1988-11-14
|
6KB
|
265 lines
-- stack: in.1
-- format: 8 (HyperCard 1)
-- flags: 0x0 (none)
-- protect password hash: 1347775074
-- maximum user level: 2 (typing)
-- window: Rect(x1=0, y1=0, x2=0, y2=0)
-- screen: Rect(x1=0, y1=0, x2=0, y2=0)
-- card dimensions: w=0 h=0
-- scroll: x=0 y=0
-- background count: 1
-- first background id: 2697
-- card count: 2
-- first card id: 3678
-- list block id: 4043
-- print block id: 3419
-- font table block id: 0
-- style table block id: 0
-- free block count: 1
-- free size: 6208 bytes
-- total size: 24576 bytes
-- stack block size: 5120 bytes
-- created by hypercard version: 0x00000000
-- compacted by hypercard version: 0x00000000
-- modified by hypercard version: 0x00000000
-- opened by hypercard version: 0x01208000
-- patterns[0]: 0x0000000000000000
-- patterns[1]: 0x0000220000002200
-- patterns[2]: 0x8800220088002200
-- patterns[3]: 0xCC003300CC003300
-- patterns[4]: 0xCC883322CC883322
-- patterns[5]: 0xFF00FF00FF00FF00
-- patterns[6]: 0xEECCBB33EECCBB33
-- patterns[7]: 0xFFCCFF33FFCCFF33
-- patterns[8]: 0xFFEEFFBBFFEEFFBB
-- patterns[9]: 0xFFFFFFBBFFFFFFBB
-- patterns[10]: 0x8010022001084004
-- patterns[11]: 0xFFFFFFFFFFFFFFFF
-- patterns[12]: 0x8822882288228822
-- patterns[13]: 0x1122448811224488
-- patterns[14]: 0xC4800C6843023026
-- patterns[15]: 0xB130031BD8C00C8D
-- patterns[16]: 0xAA00AA00AA00AA00
-- patterns[17]: 0x8822552288225522
-- patterns[18]: 0x8855225588552255
-- patterns[19]: 0x77DD77DD77DD77DD
-- patterns[20]: 0x8000000000000000
-- patterns[21]: 0xAA55AA55AA55AA55
-- patterns[22]: 0x5555555555555555
-- patterns[23]: 0x8244394482010101
-- patterns[24]: 0x8814224188412214
-- patterns[25]: 0x8080413E080814E3
-- patterns[26]: 0x22048C7422179810
-- patterns[27]: 0xBE808808EB088880
-- patterns[28]: 0x25C8328964244C92
-- patterns[29]: 0xA29C41BE2AC914EB
-- patterns[30]: 0x40A00000040A0000
-- patterns[31]: 0x8040200002040800
-- patterns[32]: 0xAA00800088008000
-- patterns[33]: 0xFF80808080808080
-- patterns[34]: 0x081C22C180010204
-- patterns[35]: 0xFF808080FF080808
-- patterns[36]: 0xF87422478F172271
-- patterns[37]: 0xBF00BFBFB0B0B0B0
-- patterns[38]: 0xFF7FBE5DA2418000
-- patterns[39]: 0xFAF5FAF5A050A050
-- checksum: 0x0
----- HyperTalk script -----
on idle
global inField
if inField is false then
put the abbrev date && the short time into field Today
checkAlarm
end if
end idle
-- on doMenu
get the mouseH
if it > 69 and it < 195 then
get the mouseV
if it > 131 and it < 164 then
beep
go to stack "HyperAlarm Help 1.1"
go to first card of bkgnd "Register"
exit doMenu
else
end if
end if
pass doMenu
end doMenu
on mouseEnter
global inField
get the name of the target
if it contains "field" then
put true into inField
end if
end mouseEnter
on mouseLeave
global inField
get the name of the target
if it contains "field" then
put false into inField
end if
end mouseLeave
on openStack
global inField
put false into inField
hide message box
hide menuBar
end openStack
on newCard
put the abbrev date into field Date
get the short time
put it into field Time
convert it to seconds
put it into field AlarmTime
end newCard
on openCard
global Alarm
put the number of this card into field CardNumber
hide field Expired
hide field AlarmTime
hide field AutoReset
if field "AutoReset" is true then
set hilite of bkgnd button "AutoReset" to true
show bkgnd button "Do a reset"
show field AMonth
show field ADay
show field AYear
show field AHour
show field AMinute
else
set hilite of bkgnd button "AutoReset" to false
hide bkgnd button "Do a reset"
hide field AMonth
hide field ADay
hide field AYear
hide field AHour
hide field AMinute
end if
checkAlarm
end openCard
on closeField
get the short name of the target
if it contains "Date" or it contains "Time" then
get field Date
convert it to dateItems
put it into NewAlarm
get field Time
convert it to dateItems
put item 4 of it into item 4 of NewAlarm
put item 5 of it into item 5 of NewAlarm
convert NewAlarm to seconds
put NewAlarm into field AlarmTime
checkAlarm
end if
end closeField
on closeAlarms
global Alarm
set lockScreen to true
if Alarm = -1 then
put empty into Alarm
end if
sort by field AlarmTime
set cursor to 4
resetAlarms
set cursor to 0
sort by field AlarmTime
go to first card
get field AlarmTime
put it into Alarm
convert it to abbrev date
put it into temp
get field AlarmTime
convert it to short time
answer "Next alarm at" && temp && it with OK
set lockScreen to false
end closeAlarms
on checkAlarm
global BoingCount
get the long time
convert it to seconds
if it > field AlarmTime then
set hilite of bkgnd button Expired to true
put true into field Expired
add 1 to BoingCount
if BoingCount = 1 then
play Boing tempo 60 c
end if
else
put 0 into BoingCount
set hilite of bkgnd button Expired to false
put false into field Expired
end if
end checkAlarm
on resetAlarms
go to first card
repeat for number of cards
put false into killit
checkAlarm
if field Expired is true then
if field AutoReset is true then
resetAlarm
checkAlarm
resetAlarms
else
doMenu "Delete Card"
end if
else
exit repeat
end if
if killit is true then
else
go to next card
end if
end repeat
end resetAlarms
on resetAlarm
get field AlarmTime
convert it to dateItems
put it into NewAlarm
get field AMinute
if it is not empty then
add it to item 5 of NewAlarm
end if
get field AHour
if it is not empty then
add it to item 4 of NewAlarm
end if
get field ADay
if it is not empty then
add it to item 3 of NewAlarm
end if
get field AMonth
if it is not empty then
add it to item 2 of NewAlarm
end if
get field AYear
if it is not empty then
add it to item 1 of NewAlarm
end if
convert NewAlarm to seconds
put NewAlarm into field AlarmTime
get NewAlarm
convert it to abbrev date
put it into field Date
get NewAlarm
convert it to short time
put it into field Time
end resetAlarm